Digital multimeters are devices that perform several different metering functions. For example, a typical digital multimeter has three operating modes wherein it alternately functions as either an ammeter, an ohmmeter or a voltmeter. FIG. 1 illustrates a prior art digital multimeter 2. Digital multimeter 2 includes a pair of terminals 4 that are utilized to couple to a device or circuit across which a meter reading is to be taken. Rotary switch 8 enables digital multimeter 2 to alternatively select one of its various functions. The function of digital multimeter 2 is selected by positioning the movable portion 10 (with the arrow) of rotary switch 8 within an angular zone for the selected function. Within each function angular zone, rotary switch 8 is further subdivided into a plurality of ranges 12. Each range 12 corresponds to an expected input to the meter within a given function. For example, one range within the volt function could correspond to 0-100 volts. This range could be used if the expected input fell between 0 and 100 volts, a second range could correspond to an expected result of 0-1000 volts, etc. In general, a range is selected where the expected input is in the middle of the range since the sensitivity of the meter circuit decreases on the input ranges with higher maximum values.
The pair of terminals 4 and rotary switch 8 are each coupled to an application specific integrated circuit 6 (hereafter ASIC). ASIC 6 contains circuitry that receives the signals input from the pair of terminals 4 and converts them into output signals in a digital format that is readable by microprocessor 14; the manner in which the signals are converted is dependent upon the function and range selected by rotary switch 8. ASIC 6 provides the output signals to microprocessor 14 which converts them into display signals readable by display 16. The display signals are provided from microprocessor 14 to display 16 which displays the multimeter reading for the device or circuit coupled to the pair of terminals 4.
In the prior art digital multimeter 2, the connection between ASIC 6 and microprocessor 14 is unidirectional in that data is passed only from ASIC 6 to microprocessor 14. As a result, the interface between these two devices is fairly simple. However, digital multimeter 2 suffers from a disadvantage in that rotary switch 8 must be utilized to select the desired function and range and rotary switches are complicated and expensive to manufacture. In addition, such switches contain electromechanical contacts which are subject to corrosion and contamination by dirt.
Accordingly, it is an object of the present invention to provide a digital multimeter having means for enabling the desired function and range to be input into a microprocessor and thereby eliminate the need for a rotary switch.
When the function and range are input into a microprocessor, the interface between the microprocessor and the ASIC becomes bidirectional because information must be passed in each direction therebetween. Accordingly, it is a further object of the present invention to provide a simple bidirectional bus for coupling the microprocessor to the ASIC. It is a further object of the invention to provide a bidirectional bus having general applicability such that it can be utilized in other applications to couple various other devices.
Several techniques are known for implementing bidirectional buses between two or more devices. These techniques generally utilize one or more dedicated data bits, a clock signal for synchronizing the operation of the devices in communicating across the bus and one or more control lines for determining which device has control of the data bus. However, it is desirable to limit the number of wires needed to implement the bidirectional bus. Accordingly, it is a further object of the present invention to implement the bidirectional data bus using a minimum number of wires.
Other prior art methods exist for transferring information between two devices over a two wire bus. One of these methods is called the Inter-Integrated Circuit (IIC ) method and was developed by Signetics, Inc. for use in local area networks (LANs). The IIC information transfer method utilizes a data line and a clock line. Data is serially transferred over the data line between the two devices under control of clock information on the clock line. The data is transferred in multi-bit messages which are delineated by "start" and "stop" bits. The start and stop bits are identified by data transitions which occur during the "active" portion of a clock cycle. The IIC method also uses addresses to identify a particular device to which a message is to be sent so that the method is suitable for use in multi-device systems such as LANs. Special contention rules are used to prevent simultaneous use of the bus by two devices.
Although the IIC method is suitable for use in a LAN environment, it is often too complicated for use in arrangements where there are only two devices, as in electronic multimeter circuits. In addition, the necessity of detecting data transitions in order to identify the start and stop bits, requires clocked gates or one-shot multivibrators. These latter devices are complicated and therefore consume a large area on an integrated circuit chip. Therefore, it is another object of the present invention to provide a method for bidirectional data transfer over two wires in which clocked gates or multivibrators are not necessary.
Further, as will be discussed in detail below, it is also necessary for the bidirectional bus to be designed in such a manner that each device can positively signal the other device regardless of the state that the other device is in. Such a capability is necessary in a power-on startup condition and in certain busy conditions. Prior art signalling methods did not have such capability. Accordingly, it is still a further object of the invention to provide a two-wire bidirectional information transfer system which allows one device to positively signal the other device.